.dashboard-container {
  padding: 20px;
  
  .welcome-section {
    background-color: #fff;
    padding: 20px;
    border-radius: 8px;
    margin-bottom: 20px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    
    h1 {
      font-size: 26px;
      margin-bottom: 8px;
      color: #333;
    }
    
    p {
      font-size: 16px;
      color: #666;
    }
  }
  
  .dashboard-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin-bottom: 20px;
  }
  
  .dashboard-card {
    background-color: #fff;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    
    &.full-width {
      grid-column: span 2;
    }
    
    .card-header {
      padding: 16px;
      border-bottom: 1px solid #f0f0f0;
      display: flex;
      justify-content: space-between;
      align-items: center;
      
      h2 {
        font-size: 18px;
        color: #333;
        margin: 0;
      }
      
      .more-link {
        font-size: 14px;
      }
    }
    
    .card-content {
      padding: 16px;
      
      .loading {
        text-align: center;
        padding: 20px;
        color: #999;
      }
      
      .empty-data {
        text-align: center;
        padding: 20px;
        
        p {
          color: #999;
          margin-bottom: 15px;
        }
      }
      
      .course-list {
        .course-item {
          padding: 12px 0;
          border-bottom: 1px solid #f0f0f0;
          display: flex;
          justify-content: space-between;
          align-items: center;
          
          &:last-child {
            border-bottom: none;
          }
          
          a {
            font-weight: 500;
            text-decoration: none;
            
            &:hover {
              color: #40a9ff;
            }
          }
          
          .course-desc {
            color: #999;
            font-size: 13px;
            max-width: 50%;
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
          }
        }
      }
      
      .quick-actions {
        display: flex;
        justify-content: space-around;
        
        .quick-action-item {
          display: flex;
          flex-direction: column;
          align-items: center;
          text-decoration: none;
          color: #333;
          padding: 15px;
          
          &:hover {
            background-color: #f0f8ff;
            border-radius: 8px;
          }
          
          .action-icon {
            width: 50px;
            height: 50px;
            border-radius: 50%;
            margin-bottom: 10px;
            background-color: #e6f7ff;
            display: flex;
            justify-content: center;
            align-items: center;
            
            &.course-icon {
              background-color: #e6f7ff;
              position: relative;
              
              &:before {
                content: "C";
                font-size: 24px;
                font-weight: bold;
                color: #1890ff;
              }
            }
            
            &.student-icon {
              background-color: #fff2e8;
              position: relative;
              
              &:before {
                content: "S";
                font-size: 24px;
                font-weight: bold;
                color: #fa8c16;
              }
            }
            
            &.signin-icon {
              background-color: #f6ffed;
              position: relative;
              
              &:before {
                content: "√";
                font-size: 24px;
                font-weight: bold;
                color: #52c41a;
              }
            }
          }
          
          span {
            font-size: 14px;
          }
        }
      }
      
      .announcement {
        .announcement-item {
          border-left: 3px solid #1890ff;
          padding-left: 15px;
          margin-bottom: 15px;
          
          h3 {
            font-size: 16px;
            margin-bottom: 8px;
          }
          
          p {
            color: #666;
            font-size: 14px;
            margin-bottom: 5px;
          }
          
          .announcement-date {
            font-size: 12px;
            color: #999;
          }
        }
      }
    }
  }
}